package elementi;


public abstract class ElementoMobile extends Elemento {
	
	private float velocitax;
	private float velocitay;
	
	/* Perch� diamo agli elementi mobili l'onere (o meglio l'obbligo) di gestire
	 * le loro proprie collisioni?
	 * (Vedi: Nota equivalente scritta all'interno di Giocatore.notificaCollisione)
	 * il Prof
	 */
	/* Ma che differenza c'� 
	 * tra i due notificaCollisione?
	 */
	@Override
	public abstract void notificaCollisione(Elemento e);
	
	@Override
	public float getVelocitax() {
		return velocitax;
	}

	public void setVelocitax(float velocitax) {
		this.velocitax = velocitax;
	}

	@Override
	public float getVelocitay() {
		return velocitay;
	}

	public void setVelocitay(float velocitay) {
		this.velocitay = velocitay;
	}
	
	public void muovi(){
		setX(getX() + getVelocitax());
		setY(getY() + getVelocitay());
	}
	
}